package com.mdd.front.service.yangyangLeadingEnterprise;

import com.mdd.common.core.PageResult;
import com.mdd.common.entity.yangyangLeadingEnterprise.param.AppUserActivityRegistrationParam;
import com.mdd.front.validate.common.PageValidate;
import com.mdd.front.validate.yangyangLeadingEnterprise.TAppUserActivityRegistrationCreateValidate;
import com.mdd.front.validate.yangyangLeadingEnterprise.TAppUserActivityRegistrationSearchValidate;
import com.mdd.front.validate.yangyangLeadingEnterprise.TAppUserActivityRegistrationUpdateValidate;
import com.mdd.front.vo.yangyangLeadingEnterprise.TAppUserActivityRegistrationDetailVo;
import com.mdd.front.vo.yangyangLeadingEnterprise.TAppUserActivityRegistrationListedVo;

/**
 * 用户活动报名服务接口类
 * @author LikeAdmin
 */
public interface ITAppUserActivityRegistrationService {

    /**
     * 用户活动报名列表
     *
     * @author LikeAdmin
     * @param pageValidate 分页参数
     * @param searchValidate 搜索参数
     * @return PageResult<TAppUserActivityRegistrationListedVo>
     */
    PageResult<TAppUserActivityRegistrationListedVo> list(PageValidate pageValidate, TAppUserActivityRegistrationSearchValidate searchValidate);

    /**
     * 用户活动报名详情
     *
     * @author LikeAdmin
     * @param id 主键ID
     * @return TAppUserActivityRegistrationDetailVo
     */
    TAppUserActivityRegistrationDetailVo detail(Integer id);

    /**
     * 用户活动报名新增
     *
     * @author LikeAdmin
     * @param createValidate 参数
     */
    void add(TAppUserActivityRegistrationCreateValidate createValidate);

    /**
     * 用户活动报名编辑
     *
     * @author LikeAdmin
     * @param updateValidate 参数
     */
    void edit(TAppUserActivityRegistrationUpdateValidate updateValidate);

    /**
     * 用户活动报名删除
     *
     * @author LikeAdmin
     * @param id 主键ID
     */
    void del(Integer id);

    /**
     * 设置报名提醒/立即报名/取消报名
     * @param param
     * @return
     */
    String updateUserActivityRegistration(AppUserActivityRegistrationParam param);
}
